package com.tedu.day02.test;

/**
 *               普通类     抽象类     接口类
 *                         【关系】    【特点】
 *       类与类             继承         只能单继承、可多层继承
 *       类与抽象类          继承         可以单继承，不可以多继承
 *       抽象类与抽象类       继承         只能单继承、可多层继承
 *       类与接口            实现         可以单继承，也可以多实现
 *                                      并且继承同时实现多个接口
 *       接口与接口          继承          可以单继承，可以多继承
 */
/*作业1：抽象类与接口区别和关系？简答*/
/*    区别：抽象类无法使用final修饰，一个子类继承一个抽象类，子类必须实现父类的抽象方法，抽象类有代码块
           抽象类子类用extends继承
           接口提供功能，但是不能直接使用，接口支持多继承一个类可以实现多个接口，接口没有方法实现
           接口存在public static final

      关系：都不能直接实例化，接口需要方法实现抽象类子类才能被实例化
      抽象方法要进行重写  都可以定义抽象方法

*/
//5.接口与接口: 继承 ---可以单继承，可以多继承
interface Loo{} interface Foo{}
interface Voo extends Loo,Foo{}

//4.类与接口 :实现---可以单继承，也可以多实现
/*interface Loo{}       interface Foo{}
class Joo{}
class Voo extends Joo implements Loo,Foo{}*/

//3.抽象类与抽象类 : 继承 -只能单继承、可多层继承
/*abstract  class Loo{}
abstract  class Voo extends Loo{}
abstract class Uoo extends Voo{} */

//2.类与抽象类：继承---可以单继承，不可以多继承
//abstract class Uoo{}   abstract class Voo{}
//class Loo extends Uoo,Voo{}


//1.类与类：继承---单继承
/*class Uoo{}
class Loo extends Uoo{}
class Voo extends Loo{}*/


public class 关系 {
}
